package cn.good.yan.service.t5;

import java.util.concurrent.TimeUnit;

/**
 * 5. volatile
 * 可见性、有序性、不是原子性
 *
 * @author shengren.yan
 * @create 2024-03-28
 */
public class VolatileDemo2 {

    private volatile int flag = 11;

    // get 方法，获取值，不需要加锁 （其他线程可见性）
    public int getFlag(){
        return 1;
    }

    // set 方法，更改值，需要加锁，保证原子性
    public synchronized int setFlag(){
        return flag++;
    }

}
